#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
	int week;
	printf("输入星期：");

	scanf("%d", &week);
	switch (week)
	{
	case 1:
		printf("星期一\n");
		break;
	case 2:
		printf("星期二\n");
		break;
	case 3:
		printf("星期三\n");
		break;
	case 4:
		printf("星期四\n");
		break;
	case 5:
		printf("星期五\n");
		printf("待会去哪里吃饭？");
		break;
	case 6:
		printf("星期六\n");
		break;
	case 7:
		printf("星期日\n");
		break;
	default:
		printf("没有这个傻day\n");
		break;
	}

	printf("********************************\n");


	//细节
	//表达式，计算结果只能为字符/整数
	//case:值不允许重复
	//break：表示中断，结束switch语句
	//default：所有情况都不匹配，执行该处内容 也可以不写
	//如果没有default，条件都不满足的情况下就会跳过整个switch结构
	//比if更高效执行代码
	int number = 1;
	switch (number)
	{
	case 1:
		printf("1\n");
	case 2:
		printf("2\n");
	default:
		break;
	}
	printf("结束\n");
	printf("*****************************\n");

	//case穿透

	int number1 = 1;
	switch (number1)
	{
	default:
		printf("jieshu\n");
		break;
	case 1:
		printf("1\n");
		
	case 2:
		printf("2\n");
	
	}
	/*
	穿透规则
		1.还是根据小括号中的表达式结果去匹配相应的case
		2.执行对应case里的代码
		3.如果在执行过程中，遇到了break，那么直接结束整个switch
			但是如果没有遇到break，就会继续执行下面case中的代码
			直到遇到break，或者整个switch执行完后结束
		4.细节：case只会从上往下穿透，而且只穿透一遍，不会重新回到上面
	*/
	printf("***********************************\n");

	//case穿透例
	//键盘输入月份
	int month;
	printf("输入月份");
	scanf("%d", &month);
	printf("%d\n", month);
	//根据月份输出季节
	/*switch (month)
	{
	case 1:
		printf("冬季\n");
		break;
	case 2:
		printf("冬季\n");
		break;
	case 3:
		printf("冬季\n");
		break;
	case 4:
		printf("春季\n");
		break;
	case 5:
		printf("春季\n");
		break;
	case 6:
		printf("春季\n");
		break;
	case 7:
		printf("夏季\n");
		break;
	case 8:
		printf("夏季\n");
		break;
	case 9:
		printf("夏季\n");
		break;
	case 10:
		printf("秋季\n");
		break;
	case 11:
		printf("秋季\n");
		break;
	case 12:
		printf("秋季\n");
		break;
	default:
		printf("无\n");
		break;
	}*/

	switch (month)
	{
	case 1:
	case 2:
	case 12:
		printf("秋季\n");
		break;
	case 3:
	case 4:
	case 5:
		printf("春季\n");
		break;
	case 6:
	case 7:
	case 8:
		printf("夏季\n");
		break;
	case 9:
	case 10:
	case 11:
		printf("秋季\n");
		break;
	
	default:
		printf("无\n");
		break;
	}



	return 0;
}